package mc.web;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import mc.bus.IKsiegaGlowna;
import mc.domain.Swiadczenie;

import org.apache.commons.lang.StringUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

/**
 * @author nickname Controller zwracajacy szczegolowe informacje o świadczeniu
 *         Przyjmuje parametr id, w razie podania blednego id lub id
 *         nieistniejacego w bazie zwraca error page
 * 
 */

public class ShowSwiadczenieDetailsController extends AbstractController {

	private IKsiegaGlowna bazaswiadczen;

	public IKsiegaGlowna getBazaswiadczen() {
		return bazaswiadczen;
	}

	public void setBazaswiadczen(IKsiegaGlowna bazaswiadczen) {
		this.bazaswiadczen = bazaswiadczen;
	}

	@Override
	protected ModelAndView handleRequestInternal(HttpServletRequest request,
			HttpServletResponse response) throws Exception {

		ModelAndView mv = new ModelAndView("swiadczenieszczegoly",
				"swiadczenie", null);
		String id = request.getParameter("id");
		String action = request.getParameter("action");
		Swiadczenie swiadczenie = null;

		if (!StringUtils.isBlank(id) && StringUtils.isBlank(action)) {

			int iid = 0;

			try {
				iid = new Integer(id);
			}

			catch (Exception e) {
				return mv;
			}

			swiadczenie = bazaswiadczen.getSwiadczenieById(iid);

			return swiadczenie != null ? new ModelAndView(
					"swiadczenieszczegoly", "swiadczenie", swiadczenie) : mv;
		}
		return mv;
	}
}
